Communication networks have been under continual development for many years. An important attribute of most communication networks is bandwidth. For practical purposes, the bandwidth of a particular network is not gauged on the raw rate at which bits can be transmitted through it, but rather on the rate at which uncorrupted data can be transmitted. Error correction codes (ECCs) allow errors to be identified and perhaps the data recovered without requiring its retransmission. However, ECCs are transmitted with the data and therefore add overhead to it. They also must be encoded and decoded in real-time, as the data is being transmitted. Thus, choosing the best ECC for a particular application has often involved striking a compromise among ECC effectiveness, ECC computational complexity, ECC overhead and the speed at which unrecoverable data can be retransmitted.
The well-known Shannon limit dictates the theoretical maximum bandwidth of a particular channel in a communication network. One type of ECC, the low-density parity check (LDPC) code, adds very little overhead and therefore allows data rates closely to approach the Shannon limit. However, while LDPC codes were developed as a theoretical exercise in the 1960s, their computational complexity and memory requirements have kept them from being used in actual communication networks. However, owing to the ever-increasing processing power and storage capacity available to transmitters and receivers in communication networks, that is now changing.
Emerging standards (including those directed to high-speed wireline Ethernet networks, such as IEEE 802.3an or 10GBASE-T, and wireless networks in the context of IEEE 802.11, such as IEEE 802.11n and 802.16e) specify LDPC codes. However, the LDPC codes specified in the various standards are all of different codeword lengths and block sizes. Thus, a different decoder must be designed to accommodate each standard.